Nonvolatile semiconductor memory device and programming method thereof

ABSTRACT

A nonvolatile semiconductor memory device and a programming method thereof are provided. The programming method includes first programming a cell among a plurality of adjacent memory cells to the highest threshold voltage distribution corresponding to a data state, and subsequently programming the other adjacent cells to the lower threshold voltage distributions corresponding to second and third data states. The second data state and the third data state may have the second highest threshold voltage distribution and the third highest threshold voltage distribution, respectively, or the third highest threshold voltage distribution and the second highest threshold voltage distribution, respectively.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application is a Divisional of U.S. application Ser. No. 11/765,057filed on Jun. 19, 2007, which claims priority to Korean PatentApplication No. 10-2007-005648, filed on Jan. 18, 2007, in the KoreanIntellectual Property Office, which is incorporated by reference hereinin its entirety.

FIELD OF THE INVENTION

The present invention relates to semiconductor memory devices, and moreparticularly, to a nonvolatile flash memory device for enablingefficient programming and a method thereof.

BACKGROUND OF THE INVENTION

FIG. 1 illustrates a cross-section of a flash memory cell in anonvolatile semiconductor memory device. Referring to FIG. 1, the flashmemory cell includes a source 3 and a drain 4, which are formed on aP-type semiconductor substrate 2 using N+ impurities such that a channelregion is disposed between the source 3 and the drain 4; a floating gate6, which is disposed above the channel region such that a firstinsulating layer 7 (e.g., a thin tunnel oxide layer) having a thicknessof 100 Å or less is disposed between the channel region and the floatinggate 6; and a control gate 8, which is insulated from the floating gate6 by a second insulating layer 7 (e.g., an ONO layer) disposed betweenthe control gate 8 and the floating gate 6. The source 3, the drain 4,the control gate 8, and the semiconductor substrate 2 are connected withpower supply terminals Vs, Vd, Vg, and Vb, respectively, in order toapply voltages necessary for programming (write), erase, and readoperations of a semiconductor memory device (see FIG. 2).

In the programming (write) operation of the conventional flash memory,hot electron injection occurs from the channel region adjacent to thedrain 4 into the floating gate 6, thereby programming the flash memorycell. The electron injection is carried out by grounding the source 3and the semiconductor substrate 2, applying a high voltage of 10 V to acontrol gate electrode Vg, and applying a voltage of 5V to 6 V, which isappropriate for generating hot electrons, to the drain 4. When the flashmemory cell is programmed through the voltage application, significantnegative charges are accumulated at the floating gate 6 so as to serveto increase a threshold voltage of the programmed flash memory celldetectible during the next read operation.

However, in the conventional flash memory, when a cell adjacent to aprogrammed cell is programmed, the threshold voltage of the previouslyprogrammed (adjacent) cell changes due to the influence of chargesaccumulated at the currently programmed cell, i.e., due to capacitivefloating gate coupling. In particular, when a flash memory cell can havemultiple states, a margin between the states is narrow, and therefore, aprogramming method for reducing the floating gate coupling is needed.

FIG. 2 illustrates a cell structure in a nonvolatile NOR semiconductormemory. Referring to FIG. 2, the threshold voltage of a first cell T isinfluenced by prior programming of adjacent cells C1, C2, C3, C4, B1,B2, W1, and W2. The influence of the adjacent cells B1, B2, and W1 maybe large while the influence of the adjacent cells C3, C4, and W2, whichhave a metal contact MC interposed between the cell T and each of thecells C3, C4, and W2, may be slight.

The threshold voltage of the cell T is affected when any of the adjacentcells C1, C2, C3, C4, B1, B2, W1, or W2 is programmed. The amount ofchange in the threshold voltage of the cell T is approximatelyproportional to the amount of charges accumulated in each of theadjacent cells C1, C2, C3, C4, B1, B2, W1, or W2 in a programmed state.For example, the threshold voltage of cell T is affected most when anyof the adjacent cells C1, C2, C3, C4, B1, B2, W1, or W2 is programmedfrom an erased state to a highest state (e.g., a “00” state). In orderto minimize this influence, each cell is programmed to a voltage lowerthan the target threshold voltage of each state under the influence offloating gate coupling until the cell is programmed to a final targetthreshold voltage, thereby reducing the influence of the floating gatecoupling.

FIG. 3 illustrates threshold voltage distributions to explain aconventional programming method of a conventional nonvolatilesemiconductor memory device. FIG. 3 shows target threshold voltagedistributions (i.e., ranges defined by solid lines) in a memory cellhaving four states (e.g., a “00” state, a “01” state, a “10” state, anda “11” state).

According to the conventional programming method, in step S1 cells to beprogrammed are programmed to a voltage a predetermined level lower thana target voltage of a third state (e.g., the “10” state). Thereafter, instep S2, among the programmed cells, cells to be programmed to a secondstate (e.g., the “01” state) are programmed to a voltage a predeterminedlevel lower than a target voltage of the second state. In step S3, amongthe cells programmed in step S2, cells to be programmed to a first state(e.g., the “00” state) are programmed to a voltage a predetermined levellower than a target voltage of the first state.

Thereafter, in step S4, cells to be programmed to the third state (e.g.,the “10” state) are programmed from the state programmed in step S1 tothe target threshold voltage of the third state. In step S5, the cellsto be programmed to the second state (e.g., the “01” state) areprogrammed from the state programmed in step S2 to the target thresholdvoltage of the second state. In step S6, the cells to be programmed tothe first state (e.g., the “00” state) are programmed from the stateprogrammed in step S3 to the target threshold voltage of the firststate.

As described above, a cell is programmed to a voltage lower than thetarget threshold voltage of each state under the influence of floatinggate coupling so that the distribution of the threshold voltage changingdue to the floating gate coupling corresponds with the distribution ofthe target threshold voltage, thereby mitigating the influence of thefloating gate coupling as a whole. However, as illustrated in FIG. 3,the number of programming operations increases, which increases entireprogramming time, and thus reduces the effective speed of the memorydevice.

Therefore, a programming method and memory device for reducing thenumber of programming operations and for reducing the floating gatecoupling effect are desired.

SUMMARY OF THE INVENTION

Various embodiments of the present invention provide a nonvolatilesemiconductor memory device requiring fewer programming operations to beperformed to program a nonvolatile semiconductor memory cell havingmultiple (e.g., first, second, third and fourth) states and thateffectively reduces the influence of floating gate coupling, and acorresponding method of operating a nonvolatile semiconductor memorydevice.

According to some embodiments of the present invention, there isprovided a programming method of a nonvolatile semiconductor memorydevice which includes a plurality of adjacent memory cells each havingthreshold voltage distributions respectively corresponding to multiple(e.g., first, second, third and fourth) data states. The programmingmethod includes programming a cell to be programmed to the first datastate among the plurality of adjacent memory cells to a thresholdvoltage distribution corresponding to the first data state, andprogramming a cell to be programmed to the second data state and a cellto be programmed to the third data state among the plurality of adjacentmemory cells. The first data state may have the highest thresholdvoltage distribution among the multiple data states.

The programming of the cell to be programmed to the second data stateand the cell to be programmed to the third data state may includeprogramming the cell to be programmed (directly) to the second datastate to the threshold voltage distribution corresponding to the seconddata state, and programming the cell to be programmed to the third datastate (directly) to the threshold voltage distribution corresponding tothe third data state.

The programming of the cell to be programmed to the second data stateand the cell to be programmed to the third data state may includeprogramming the cell to be programmed to the second data state to avoltage distribution a predetermined level lower than the thresholdvoltage distribution corresponding to the second data state; programmingthe cell to be programmed to the third data state to a threshold voltagedistribution corresponding to the third data state; and programming thecell, which has been programmed to the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the second data state, to the threshold voltagedistribution corresponding to the second data state.

The second data state and the third data state may be the second highestthreshold voltage distribution and the third highest threshold voltagedistribution, respectively, among the multiple data states.

Alternatively, the second data state and the third data state may be thethird highest threshold voltage distribution and the second highestthreshold voltage distribution, respectively, among the multiple datastates.

The programming of the cell to be programmed to the second data state tothe voltage distribution the predetermined level lower than thethreshold voltage distribution corresponding to the second data statemay include programming the cell such that a threshold voltage of thecell is increased by a predetermined value until the threshold voltageof the cell reaches the voltage distribution the predetermined levellower than the threshold voltage distribution corresponding to thesecond data state; verifying (determining) whether the increasedthreshold voltage meets the voltage distribution the predetermined levellower than the threshold voltage distribution corresponding to thesecond data state; and if it is verified (determined) that the increasedthreshold voltage does not meet the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the second data state, then programming the cell toincrease the threshold voltage of the cell by the predetermined valueagain.

Alternatively, the programming of the cell to be programmed to thesecond data state to the voltage distribution the predetermined levellower than the threshold voltage distribution corresponding to thesecond data state may include performing a programming operation, inwhich a threshold voltage of the cell is increased by a predeterminedvalue a predetermined number of times until the cell is programmed tothe voltage distribution the predetermined level lower than thethreshold voltage distribution corresponding to the second data state.

The programming of the cell to be programmed to the second data stateand the cell to be programmed to the third data state may includeprogramming the cell to be programmed to the second data state and thecell to be programmed to the third data state to a voltage distributiona predetermined level lower than the threshold voltage distributioncorresponding to the third data state, programming the cell to beprogrammed to the second data state to the threshold voltagedistribution corresponding to the second data state, and programming thecell to be programmed to the third data state to the threshold voltagedistribution corresponding to the third data state. The first, secondand third data states may have the highest, second highest and thirdhighest threshold voltage distributions, respectively.

The programming of the cell to be programmed to the second data stateand the cell to be programmed to the third data state to the voltagedistribution the predetermined level lower than the threshold voltagedistribution corresponding to the third data state may includeprogramming the cells such that a threshold voltage of each cell isincreased by a predetermined value until the threshold voltage of thecell reaches the voltage distribution the predetermined level lower thanthe threshold voltage distribution corresponding to the third datastate; verifying whether the increased threshold voltage meets thevoltage distribution the predetermined level lower than the thresholdvoltage distribution corresponding to the third data state; and if it isverified that the increased threshold voltage does not meet the voltagedistribution the predetermined level lower than the threshold voltagedistribution corresponding to the third data state, then programming thecell to increase the threshold voltage of the cell by the predeterminedvalue again.

Alternatively, the programming of the cell to be programmed to thesecond data state and the cell to be programmed to the third data stateto the voltage distribution the predetermined level lower than thethreshold voltage distribution corresponding to the third data state mayinclude performing a programming operation, in which a threshold voltageof each cell is increased by a predetermined value a predeterminednumber of times until the cell is programmed to the voltage distributionthe predetermined level lower than the threshold voltage distributioncorresponding to the third data state.

According to other embodiments of the present invention, there isprovided a nonvolatile semiconductor memory device including a memorycell array comprising a plurality of adjacent memory cells havingthreshold voltage distributions respectively corresponding to multiple(e.g., first, second, third, and fourth) data states; a column selectorconfigured to select a bit line included in the memory cell array; aninput/output buffer configured to temporarily store data to beprogrammed into the memory cell array or data output from the memorycell array; a write driver configured to program the data stored in theinput/output buffer into a memory cell selected by the column selectorfrom among the memory cells comprised in the memory cell array; and acontroller configured to control the write driver to first program acell to be programmed to a first data state, among the plurality ofadjacent memory cells to be programmed to the multiple data states, tothe threshold voltage distribution corresponding to the first data statebased on the data stored in the input/output buffer.

The controller may next control the write driver to program a cell to beprogrammed to a second data state to a threshold voltage distributioncorresponding to the second data state after the cell to be programmedto the first data state is programmed and to program a cell to beprogrammed to a third data state to the threshold voltage distributioncorresponding to the third data state after the cell to be programmed tothe second data state is programmed.

After the cell to be programmed to the first data state is programmed,the controller may control the write driver to program a cell to beprogrammed to a second data state to a voltage distribution apredetermined level lower than the threshold voltage distributioncorresponding to the second data state; to program a cell to beprogrammed to a third data state to the threshold voltage distributioncorresponding to the third data state; and to program the cell that hasbeen programmed to the voltage distribution the predetermined levellower than the threshold voltage distribution corresponding to thesecond data state, to the threshold voltage distribution correspondingto the second data state.

In order to program the cell to be programmed to the second data stateto the voltage distribution the predetermined level lower than thethreshold voltage distribution corresponding to the second data state,the controller may control the write driver to program the cell suchthat a threshold voltage of the cell is increased by a predeterminedvalue until the threshold voltage of the cell reaches the voltagedistribution the predetermined level lower than the threshold voltagedistribution corresponding to the second data state; to verify whetherthe increased threshold voltage meets the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the second data state; and if it is verified that theincreased threshold voltage does not meet the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the second data state, then to program the cell so asto increase the threshold voltage of the cell by the predetermined valueagain.

In order to program the cell to be programmed to the second data stateto the voltage distribution the predetermined level lower than thethreshold voltage distribution corresponding to the second data state,the controller may control the write driver to perform a programmingoperation, in which a threshold voltage of the cell is increased by apredetermined value, a predetermined number of times until the cell isprogrammed to the voltage distribution the predetermined level lowerthan the threshold voltage distribution corresponding to the second datastate.

The controller may control the write driver to program a cell to beprogrammed to a second data state and a cell to be programmed to a thirddata state to a voltage distribution a predetermined level lower thanthe threshold voltage distribution corresponding to the third datastate, to program the cell to be programmed to the second data state tothe threshold voltage distribution corresponding to the second datastate, and to program the cell to be programmed to the third data stateto the threshold voltage distribution corresponding to the third datastate.

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, in which embodiments of theinvention are shown. This invention may, however, be embodied in manydifferent forms and should not be construed as limited to theembodiments set forth herein. Rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. In thedrawings, the size and relative sizes of layers and regions may beexaggerated for clarity. Like numbers refer to like elements throughout.

It will be understood that when an element is referred to as being“connected” or “coupled” to another element, it can be directlyconnected or coupled to the other element or intervening elements may bepresent. In contrast, when an element is referred to as being “directlyconnected” or “directly coupled” to another element, there are nointervening elements present. As used herein, the term “and/or” includesany and all combinations of one or more of the associated listed itemsand may be abbreviated as “/”.

It will be understood that, although the terms first, second, etc. maybe used herein to describe various elements, these elements should notbe limited by these terms. These terms are only used to distinguish oneelement from another. For example, a first signal could be termed asecond signal, and, similarly, a second signal could be termed a firstsignal without departing from the teachings of the disclosure.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” or “includes” and/or “including” when used in thisspecification, specify the presence of stated features, regions,integers, steps, operations, elements, and/or components, but do notpreclude the presence or addition of one or more other features,regions, integers, steps, operations, elements, components, and/orgroups thereof.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this invention belongs. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art and/orthe present application, and will not be interpreted in an idealized oroverly formal sense unless expressly so defined herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention will become moreapparent to persons skilled in the art by describing in detail exemplaryembodiments thereof with reference to the attached drawings in which:

FIG. 1 illustrates a cross-section of a flash memory cell in anonvolatile memory device;

FIG. 2 illustrates a cell structure in nonvolatile NOR flash memory;

FIG. 3 illustrates threshold voltage distributions to explain aprogramming method of the conventional nonvolatile semiconductor memorydevice of FIG. 2;

FIG. 4 is a functional block diagram of a nonvolatile semiconductormemory device according to an embodiment of the present invention;

FIG. 5 illustrates threshold voltage distributions to explain a firstexemplary programming method of the nonvolatile semiconductor memorydevice, according to an embodiment of the present invention of FIG. 5;

FIG. 6 illustrates threshold voltage distributions to explain a secondexemplary programming method of a nonvolatile semiconductor memorydevice, according to another embodiment of the present invention;

FIG. 7 illustrates threshold voltage distributions to explain a thirdexemplary programming method of a nonvolatile semiconductor memorydevice, according to a further embodiment of the present invention; and

FIG. 8 illustrates threshold voltage distributions to explain a fourthexemplary programming method of a nonvolatile semiconductor memorydevice, according to another embodiment of the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION

FIG. 4 is a functional block diagram of a nonvolatile semiconductormemory device 100 according to an embodiment of the present invention.The nonvolatile semiconductor memory device 100 includes a controller10, an input/output (I/O) buffer 20, a write (programming) driver 30, acolumn selector 50, and a memory cell array 60. The nonvolatilesemiconductor memory device 100 may further include a sense amplifier(S/A) 40 for detecting stored charges in the memory cell array 60. It isassumed that the nonvolatile semiconductor memory device 100 is a NORflash memory device, but the scope of the present invention is notrestricted thereto.

Each memory cell included in the memory cell array 60 can store multipledata states and has one threshold voltage corresponding to each of itsmultiple data states. For instance, a memory cell included in the memorycell array 60 may have four states, i.e., a “11” state corresponding toan erased cell, a “00” state corresponding to a highest state, a “01”state corresponding to a second highest state, and a “10” statecorresponding to a third highest state, thus storing 2-bits ofinformation. The four states and the corresponding 2 bits of informationstorage are just an example, and the scope of the present invention isnot restricted thereto.

The highest state, i.e., the “00” state has the highest thresholdvoltage distribution among the data states. The second highest state,i.e., the “01” state has the second highest threshold voltagedistribution among the data states. The third highest state, i.e., the“10” state has the third highest threshold voltage distribution amongthe data states.

When programming data into the memory cell array 60, the controller 10controls the write (programming) driver 30 to program (write) the data,which is received from outside and stored in the I/O buffer 20, into thememory cell array 60. In order to select a memory cell to be programmedwith the received data, the nonvolatile semiconductor memory device 100may further include a row decoder (not shown) and may perform theprogramming operation on a memory cell selected by the row decoder andthe column selector 50. In addition, the nonvolatile semiconductormemory device 100 may also include a high-voltage generation circuit(not shown) to generate the relatively high voltages necessary for theprogramming operations, the erase operation, and the read operation. Thehigh-voltage generation circuit is well known to those skilled in theart, and thus, a detailed description thereof will be omitted.

The sense amplifier (S/A) 40 may sense and amplify data stored in amemory cell selected by the column selector 50 and output the amplifieddata to the I/O buffer 20.

FIG. 5 illustrates threshold voltage distributions to explain a firstexemplary programming method of the nonvolatile semiconductor memorydevice 100 of FIG. 4, according to an embodiment of the presentinvention. Referring to FIGS. 4 and 5, in step S1, the nonvolatilesemiconductor memory device 100 programs a cell (having multiple datastates) to be programmed in a first data state (e.g., the highest stateor the “00” state) to a threshold voltage distribution corresponding tothe first data state, based on data stored in the I/O buffer 20. Forthis programming operation, the controller 10 may control the writedriver 30. Here, it is apparent that the controller 10 may control otherelements, e.g., the I/O buffer 20 and the column selector 50, during aprogramming operation.

In other words, the nonvolatile semiconductor memory device 100 mayprogram first a cell to be programmed to the highest state (or the “00”state) in step S10. As described above, the highest state, i.e., the“00” state has a highest threshold voltage distribution among the datastates. When a cell to be programmed to the highest state “00” isprogrammed first, only an erase cell (corresponding to the “11” state)is influenced by floating gate coupling. It is seen in FIG. 5 that theerased cell slightly changes its threshold voltage (which is illustratedby a dotted line at a threshold voltage distribution corresponding to“11”) due to the floating gate coupling. However, the margin between thethreshold voltage distribution of the erased cell and the thresholdvoltage distribution of a cell corresponding to a next upper state,i.e., the “10” state, (i.e., a distance between the distributioncorresponding to the “11” state and a distribution corresponding to the“10” state) is wide, and therefore, the erased cell is not muchinfluenced by the floating gate coupling.

In step S20, the nonvolatile semiconductor memory device 100 may programa cell to be programmed to the second highest state “01” to thethreshold voltage distribution corresponding to the second highest state“01”. The second highest state “01” indicates a state having a secondhighest threshold voltage distribution among the multiple data states.The influence of floating gate coupling occurring during the currentprogramming operation is illustrated in FIG. 5. In detail, the thresholdvoltage distribution of the cell programmed to the highest state “00”increases slightly and the threshold voltage distribution of the erasedcell also increases a little more than in step S10. Even if thethreshold voltage distribution at the highest state “00” increases alittle, there is no other state having a higher threshold voltagedistribution, and therefore, the influence of the floating gate couplingmay be ignored. In addition, since the threshold voltage distribution ofthe erase cell has a wide margin with that of the next upper state,i.e., the “10” state, the erased cell is less influenced by the floatinggate coupling than other cells.

In step S30, the nonvolatile semiconductor memory device 100 may programa cell to be programmed to the third highest state “10” to the thresholdvoltage distribution corresponding to the third highest state “10”. Asdescribed above, the third highest state “10” indicates a state having athird highest threshold voltage distribution among the multiple datastates. The influence of floating gate coupling occurring during thecurrent programming operation is also illustrated in FIG. 5. In detail,the threshold voltage distribution of the cell programmed to the higheststate “00” increases a little more than in step S20 and the thresholdvoltage distribution of the erased cell also increases a little morethan in step S20. Also, the threshold voltage distribution of the cellprogrammed to the second highest state “01” increases slightly. However,a threshold voltage at the second highest state “01” is changed due tofloating gate coupling caused by the change of a voltage (i.e., chargeinjection), which corresponds to a difference (i.e., a least change)between the “11” state of the erased cell and the third highest state“10”, and therefore, that change may be accepted as a trade-off for areduction of the total number of programming operations.

FIG. 6 illustrates threshold voltage distributions to explain a secondexemplary programming method of the nonvolatile semiconductor memorydevice 100 of FIG. 4, according to another embodiment of the presentinvention. Referring to FIGS. 4 and 6, the controller 10 may control thewrite driver 30 to program a cell to be programmed to the first datastate (e.g., the highest state “00”) in step S110, program a cell to beprogrammed to a second data state (e.g., the second highest state “01”)to a voltage distribution a predetermined level lower than a thresholdvoltage distribution corresponding to the second data state in stepS120, program a cell to be programmed to a third data state (e.g., thethird highest state “10”) to a threshold voltage distributioncorresponding to the third data state in step S130, and program thecell, which has been programmed to the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the second data state in step S120, to the thresholdvoltage distribution corresponding to the second data state in stepS140.

In other words, the programming method illustrated in FIG. 6 is similarto that illustrated in FIG. 5, but in the programming method illustratedin FIG. 6 the nonvolatile semiconductor memory device 100 does notdirectly program the cell to be programmed to the second data state(i.e., the “01” state) to the threshold voltage distribution(hereinafter, referred to as a second target threshold voltagedistribution) corresponding to the second data state but programs thatcell to the voltage distribution the predetermined level lower than thesecond target threshold voltage distribution in step S120 and thenprograms the cell again to the second target threshold voltagedistribution in step S140. It is apparent that the predetermined levelmay have various values according to embodiments of the presentinvention.

Accordingly, the influence of floating gate coupling exerted on the cellin the third data state (i.e., the “10” state) corresponds to thepredetermined level and is thus very weak. The influence of floatinggate coupling exerted on the cell in the first data state (i.e., the“00” state) and the cell in the erased state (i.e., the “11” state) issimilar to that described with reference to FIG. 5. Thus, a detaileddescription thereof will be omitted.

Meanwhile, in order to program the cell to be programmed to the seconddata state to the voltage distribution the predetermined level lowerthan the second target threshold voltage distribution, the nonvolatilesemiconductor memory device 100 may program the cell such that thethreshold voltage of the cell is increased by a predetermined value,then verifies whether the increased threshold voltage meets the voltagedistribution the predetermined level lower than the second targetthreshold voltage distribution, and, if it is verified that theincreased threshold voltage does not meet the voltage distribution thepredetermined level lower than the second target threshold voltagedistribution, then program the cell to increase the threshold voltage ofthe cell by the predetermined value again. This programming operation isrepeated until the cell reaches the voltage distribution thepredetermined level lower than the second target threshold voltagedistribution.

In other words, the nonvolatile semiconductor memory device 100 mayprogram a cell such that a threshold voltage distribution of the cell isincreased by a predetermined value and then program the cell again if itis verified that the increased threshold voltage distribution does notreach a target threshold voltage distribution. The programming operationand the verification may be repeated until the cell is programmed to thetarget threshold voltage distribution. In order to repeat theverification and the programming operation, the nonvolatilesemiconductor memory device 100 may use a predetermined set function,e.g., a verify-read function.

Alternatively, the nonvolatile semiconductor memory device 100 mayperform a programming operation, in which the threshold voltagedistribution of a cell to be programmed to the second data state isincreased by a predetermined value a predetermined number of times untilthe cell is programmed to the voltage distribution the predeterminedlevel lower than the second target threshold voltage distribution. Atthis time, the cell is programmed to a desired voltage distribution byrepeating the programming operation the predetermined number of times,which is determined through experiments, calibration, or the like,without performing the verification.

Alternatively, the nonvolatile semiconductor memory device 100 mayperform a programming operation, in which the threshold voltagedistribution of a cell is increased by a predetermined value apredetermined number of times until the cell is programmed to thevoltage distribution a predetermined level lower than a third targetthreshold voltage distribution. The predetermined number of times thatthe programming operation is repeated, may vary with a target voltagedistribution, e.g., the voltage distribution the predetermined levellower than the second target threshold voltage distribution or thevoltage distribution the predetermined level lower than the third targetthreshold voltage distribution.

FIG. 7 illustrates threshold voltage distributions to explain aprogramming method of the nonvolatile semiconductor memory device 100 ofFIG. 4, according to another exemplary embodiment of the presentinvention. Referring to FIGS. 4 and 7, the controller 10 may control thewrite driver 30 to program a cell to be programmed to the first datastate (e.g., the highest state “00”) in step 5210, program a cell to beprogrammed to a second data state (e.g., the third highest state “10”)to a voltage distribution a predetermined level lower than a thresholdvoltage distribution corresponding to the second data state in stepS220, program a cell to be programmed to a third data state (e.g., thesecond highest state “01”) to a threshold voltage distributioncorresponding to the third data state in step S230, and program thecell, which has been programmed to the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the second data state in step S220, to the thresholdvoltage distribution corresponding to the second data state in stepS240.

The programming method illustrated in FIG. 7 is similar to thatillustrated in FIG. 6, but the second data state and the third datastate respectively correspond to the “01” state and the “10” state inthe programming method illustrated in FIG. 6 while the second data stateand the third data state respectively correspond to the “10” state andthe “01” state in the programming method illustrated in FIG. 7.Accordingly, the influence of floating gate coupling with respect toeach state illustrated in FIG. 7 is similar to that illustrated in FIG.6. Thus, a detailed description thereof will be omitted.

FIG. 8 illustrates threshold voltage distributions to explain aprogramming method of the nonvolatile semiconductor memory device 100,according to another exemplary embodiment of the present invention.Referring to FIGS. 4 and 8, the controller 10 may control the writedriver 30 to program a cell to be programmed to the first data state(e.g., the “00” state) in step S310, program a cell to be programmed toa second data state (e.g., the “01” state) and a cell to be programmedto a third data state (e.g., the “10” state) to a voltage distribution apredetermined level lower than a threshold voltage distributioncorresponding to the third data state (hereinafter, referred to as athird target threshold voltage distribution) in step S320, program thecell to be programmed to the second data state to a threshold voltagedistribution corresponding to the second data state (hereinafter,referred to as a second target threshold voltage distribution) in stepS330, and program the cell to be programmed to the third data state(i.e., the cell to be programmed to the third data state among the cellsprogrammed in step S320) to the third target threshold voltagedistribution in step S340.

In other words, the nonvolatile semiconductor memory device 100 programscells to be programmed to a highest state (e.g., the “00” state) to thethreshold voltage distribution (hereinafter, referred to as a firsttarget threshold voltage distribution) corresponding to the first datastate in step 310. Next, the nonvolatile semiconductor memory device 100programs cells programmed to a second highest state (e.g., the “01”state) and cells to be programmed to a third highest state (e.g., the“10” state) to a voltage distribution the predetermined level lower thanthe third target threshold voltage distribution in step S320. Next, thenonvolatile semiconductor memory device 100 programs the cells, whichhave been programmed to the voltage distribution the predetermined levellower than the third target threshold voltage distribution and are to beprogrammed to the second highest state, to the second target thresholdvoltage distribution in step S330. Next, the nonvolatile semiconductormemory device 100 programs the cells, which have been programmed to thevoltage distribution the predetermined level lower than the third targetthreshold voltage distribution and are to be programmed to the thirdhighest state, to the third target threshold voltage distribution instep S340.

As described above, according to various embodiments of the presentinvention, the number of programming operations (steps)_and theinfluence of floating gate coupling can be reduced.

While the present invention has been shown and described with referenceto exemplary embodiments thereof, it will be understood by those ofordinary skill in the art that various changes in form and detail may bemade herein without departing from the spirit and scope of the presentinvention, as defined by the following claims.

1. The programming method of claim 1, wherein the programming the cellto be programmed to the second data state and the cell to be programmedto the third data state comprises: programming the cell to be programmedto the second data state to the threshold voltage distributioncorresponding to the second data state; and programming the cell to beprogrammed to the third data state to the threshold voltage distributioncorresponding to the third data state.
 2. The programming method ofclaim 1, wherein the second data state and the third data state are thethird highest threshold voltage distribution and the second highestthreshold voltage distribution, respectively, among the multiple datastates.
 3. The programming method of claim 1, wherein the programmingthe cell to be programmed to the second data state and the cell to beprogrammed to the third data state comprises: programming both the cellto be programmed to the second data state and the cell to be programmedto the third data state to a voltage distribution a predetermined levellower than the threshold voltage distribution corresponding to the thirddata state; programming the cell to be programmed to the second datastate to the threshold voltage distribution corresponding to the seconddata state; and programming the cell to be programmed to the third datastate to the threshold voltage distribution corresponding to the thirddata state, wherein the first, second and third data states have thehighest, second highest and third highest threshold voltagedistributions, respectively.
 4. The programming method of claim 3,wherein the programming the cell to be programmed to the second datastate and the cell to be programmed to the third data state to thevoltage distribution the predetermined level lower than the thresholdvoltage distribution corresponding to the third data state comprises:programming the cells such that a threshold voltage of each cell isincreased by a predetermined value until the threshold voltage of thecell reaches the voltage distribution the predetermined level lower thanthe threshold voltage distribution corresponding to the third datastate; determining whether the increased threshold voltage meets thevoltage distribution the predetermined level lower than the thresholdvoltage distribution corresponding to the third data state; and if it isdetermined that the increased threshold voltage does not meet thevoltage distribution the predetermined level lower than the thresholdvoltage distribution corresponding to the third data state, thenprogramming the cell to increase the threshold voltage of the cell bythe predetermined value again.
 5. The programming method of claim 3,wherein the programming of the cell to be programmed to the second datastate and of the cell to be programmed to the third data state to thevoltage distribution the predetermined level lower than the thresholdvoltage distribution corresponding to the third data state comprisesperforming a programming operation in which the threshold voltage ofeach cell is increased by a predetermined value a predetermined numberof times until the cell is programmed to the voltage distribution thepredetermined level lower than the threshold voltage distributioncorresponding to the third data state.
 6. The nonvolatile semiconductormemory device of claim 5, wherein: the controller controls the writedriver to program a cell to be programmed to the second data state tothe threshold voltage distribution corresponding to the second datastate after the cell to be programmed to the first data state has beenprogrammed; and the controller controls the write driver to program acell to be programmed to a third data state to a threshold voltagedistribution corresponding to the third data state after the cell to beprogrammed to the second data state has been programmed.
 7. Thenonvolatile semiconductor memory device of claim , wherein after thecell to be programmed to the first data state is programmed: thecontroller controls the write driver to program a cell to be programmedto a second data state and a cell to be programmed to a third data stateto a voltage distribution a predetermined level lower than the thresholdvoltage distribution corresponding to the third data state; and next thecontroller controls the write driver to program the cell to beprogrammed to the second data state to a threshold voltage distributioncorresponding to the second data state, and then the controller controlsthe write driver to program the cell to be programmed to the third datastate to the threshold voltage distribution corresponding to the thirddata state.